package com.wd.live.tool

import android.os.Parcelable
import kotlinx.parcelize.Parcelize

/**
 *@Author Nick.wu
 *Date 2023/8/11
 */
class LocalData {
    data class AnchorInfo(
        val userId: String?,
        val nickName: String?,
        val headPic: String?,
        val personalImage: String?,
        val sex: Int?,
        val signature: String?,
        val fanSum: String?,
        val followers: String?,
        val amount: String?,
        val constellation: String
    )

    data class UserInfo(
        val userId: Int? = null,
        val sessionId: String? = null,
        val nickName: String? = null,
        val personalImage: String? = null,
        val headPic: String? = null,
        val sex: Int? = null,
        val signature: String? = null,
        val userLabelList: ArrayList<String>? = null,
        val followWeChat: Int? = null,
        val verifiedStatus: Int? = null,
        val bankCardBindingStatus: Int? = null,
        val newUserFlag: Int? = null,
        val fanSum: Int? = null,
        val workSum: Int? = null,
        val attentionSum: Int? = null,
        val constellation: String? = null
    )

    data class BroadcasterInfo(
        val nickName: String?,
        val headPic: String?,
        val longitude: String?,
        val latitude: String?,
        val sex: Int?,
        val liveId: Int?,
        val follow: Int?
    )

    data class LiveInfo(
        val liveId: Int?,
        val agoraToken: String?,
        val channelName: String?,
        val compositeWsUrl: String?
    )

    data class ResponseLiveBean<T>(val message: String?, val liveData: T?, val status: String?)

    data class LookLiveInfo(
        val liveId: Int?,
        val agoraToken: String?,
        val channelName: String?,
        val compositeWsUrl: String?,
        val headPic: String?,
        val agoraRecordId: String?,
        val nickName: String?,
        val watchNumber: Int?,
        val whetherFollow: Int?,
        val whetherOpenbridge: Boolean?,
        val bridgeOverageNum: Int?,

        )

    data class TypeInfo(
        val id: Int?,
        val name: String?,
        val imageUrl: String? = null,
        var select: Boolean = false
    )

    @Parcelize
    data class LiveShow(
        val liveId: Int?,
        val nickName: String?,
        val anchorId: Int?,
        val headPic: String?,
        val liveTitle: String?,
        val liveStatus: Int?,
        val liveCoverUrl: String?,
        val liveTime: String?,
        val follow: Int?,
        val channelName: String?,
        val sex: Int?
    ) : Parcelable

    @Parcelize
    data class LiveMessage(
        val liveBg: String,
        val liveType: Int,
        val liveName: String,
        val liveMusic: String? = null,
        val liveVoice: String? = null,
        val lat: Double? = null,
        val lng: Double? = null
    ) : Parcelable


    data class WebSocketInfo(
        val msgType: Int?,
        val nickName: String?,
        val type: Int?,
        val liveId: Int?,
        val userId: Int?,
        val content: String?

    )

    data class Bridge(
        val msgType: Int?,
        val message: String?,
        val anchorId: Int?,
        val liveId: Int?,
        val status: Int?
    )

    data class Link(
        val msgType: Int?,
        val channelName: String?,
        val liveId: Int?,
        val userId: Int?,
        val agoraToken: String?
    )

    data class LiveNumber(
        val liveId: Int,
        val num: Int
    )

    data class GiftInfo(
        val giftId: Int?,
        val name: String?,
        val price: String?,
        val imageUrl: String?,
        val colour: String?
    )

}